/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.PeriodoAplicacionVacuna;
import java.util.Vector;
import org.hibernate.Query;

/**
 *
 * @author Gonzalo
 */
public class PeriodoAplicacionVacunaFisica extends CapaFisica{

    /**
     * Retorna el vector de objetos PeriodoAplicacionVacuna según el nombre de
     * una vacuna dada.
     *
     * @param nombreVacuna El nombre de la vacuna
     * @param estado false si es baja lógica, true si aún activo
     * @return El vector de objetos PeriodoAplicacionVacuna consultado
     */
    public static Vector<PeriodoAplicacionVacuna>
            getVectorPeriodoAplicacionVacunaPorNombreVacuna(String nombreVacuna,
            boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from PeriodoAplicacionVacuna " +
                "where lower(sinacentos(vacuna.nombreVacuna)) = lower(sinacentos('" +
                nombreVacuna + "')) and " +
                "enBdPeriodoAplicacionVacuna = " + estado
                );

        return getVectorObjetos(q);
    }

    /**
     *
     * @param nombrePeriodoAplicacion
     * @param nombreVacuna
     * @param estado false si es baja lógica, true si aún activo
     * @return
     */
    public static PeriodoAplicacionVacuna
            getPeriodoAplicacionVacunaPorNombrePeriodoAplicacionYNombreVacuna(
            String nombrePeriodoAplicacion, String nombreVacuna, boolean estado) {
        Query q = Sesion.sesion.createQuery(
                "from PeriodoAplicacionVacuna " +
                "where lower(sinacentos(descripcionPeriodoAplicacionVacuna)) = " +
                "lower(sinacentos('" + nombrePeriodoAplicacion + "')) and " +
                "lower(sinacentos(vacuna.nombreVacuna)) = lower(sinacentos('" +
                nombreVacuna + "')) and " +
                "enBdPeriodoAplicacionVacuna = " + estado
                );
        return (PeriodoAplicacionVacuna)getObjeto(q);
    }

}
